/*
 * Copyright (c) 2013 XDream
 * Copyright (c) 2013 bruceshu <shuhuan.bruce@gmail.com>
 * 2024-8-7
 */


#ifndef DEMUXERWRAPPER_H
#define DEMUXERWRAPPER_H

#include <vector>

#include "IExtractor.h"

namespace mydemuxer {

class DemuxerWrapper {
private:
    const int mId;
    std::unique_ptr<IExtractor> mExtrator;


public:
    explicit DemuxerWrapper(int id);
    ~DemuxerWrapper();
    DemuxerWrapper(const DemuxerWrapper &) = delete;
    DemuxerWrapper(DemuxerWrapper &&) = delete;
    DemuxerWrapper & operator=(const DemuxerWrapper &) = delete;
    DemuxerWrapper & operator=(DemuxerWrapper &&) = delete;

    int open();
    int seek();
    int readPacket();
    void setInterrupt();
    void close();

};




}



#endif
